home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Aminet / util / libs / MailPro.lha / MailProLibrary / ShowPKT / StartEnd.h < prev   
Encoding:
Text File  |  1999-02-10  |  3.5 KB  |  107 lines

  1. //--------------------------------------------------------------------
  2. // Íðáíàíåãäìçä ïäðòïðíá îïíâïaëëú îïç áúôíãä
  3.  
  4. void Free (void)
  5. {
  6.   if (mw_mcc)
  7.     MUI_DeleteCustomClass (mw_mcc);
  8.   if (MUIMasterBase)
  9.     CloseLibrary (MUIMasterBase);
  10.   if (MailProBase)
  11.     CloseLibrary (MailProBase);
  12.   if (ReqToolsBase)
  13.     CloseLibrary (ReqToolsBase);
  14.   if (IntuitionBase)
  15.     CloseLibrary (IntuitionBase);
  16. }
  17. ///¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ <
  18. ///
  19. // Îïíáäïéa çìðñïòëäìñaïçþ ç æaâïòæéa ìäíàôíãçëúô óaèêíá
  20. BOOL LoadToolTypes (void)
  21. {
  22.   struct Task *task;
  23.   struct Library *IconBase;
  24.   struct DiskObject *diskobj;
  25.   STRPTR t;
  26.   BPTR bp;
  27.   ULONG x;
  28.   BOOL result = TRUE;
  29.  
  30.   if (IconBase = OpenLibrary (ICON_LIBRARY_NAME, ICON_LIBRARY_VERSION))
  31.     {
  32.       task = FindTask (NULL);
  33.       if (diskobj = GetDiskObject (task->tc_Node.ln_Name))
  34.         {
  35.           if (t = FindToolType (diskobj->do_ToolTypes, WORKDIR_TEMPLATE))
  36.             {
  37.               if (bp = Lock (t, ACCESS_READ))
  38.                 {
  39.                   UnLock (bp);
  40.                   strcpy (workdir, t);
  41.                 }
  42.               else
  43.                 {
  44.                   if (MakeRequest (REQ_TITLE_ERROR, BAD_TEMPLATE, CONTINUE_EXIT_BUTTON, WORKDIR_TEMPLATE))
  45.                     strcpy (workdir, SYSTEM_DIR);
  46.                   else
  47.                     result = FALSE;
  48.                 }
  49.             }
  50.           if (result)
  51.             {
  52.               if (t = FindToolType (diskobj->do_ToolTypes, TRANSTAB_TEMPLATE))
  53.                 {
  54.                   if ((! (bp = Open (t, MODE_OLDFILE))) || (Read (bp, transtab, 256) != 256))
  55.                     {
  56.                       if (MakeRequest (REQ_TITLE_ERROR, BAD_TEMPLATE, CONTINUE_EXIT_BUTTON, TRANSTAB_TEMPLATE))
  57.                         {
  58.                           for (x = 0; x < 256; x++)
  59.                             transtab[x] = x;
  60.                         }
  61.                       else
  62.                         result = FALSE;
  63.                     }
  64.                   if (bp)
  65.                     Close (bp);
  66.                 }
  67.             }
  68.           FreeDiskObject (diskobj);
  69.         }
  70.       CloseLibrary (IconBase);
  71.     }
  72.   return (result);
  73. }
  74. ///¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ <
  75. ///
  76.  
  77. BOOL Init (void)
  78. {
  79.   if (IntuitionBase = OpenLibrary (INTUITION_LIBRARY_NAME, INTUITION_LIBRARY_VERSION))
  80.     {
  81.       if (ReqToolsBase = OpenLibrary (REQ_LIBRARY_NAME, REQ_LIBRARY_VERSION))
  82.         {
  83.           if (MailProBase = OpenLibrary (MAILPRO_LIBRARY_NAME, MAILPRO_LIBRARY_VERSION))
  84.             {
  85.               if (MUIMasterBase = OpenLibrary (MUI_LIBRARY_NAME, MUI_LIBRARY_VERSION))
  86.                 {
  87.                   if (LoadToolTypes())
  88.                     {
  89.                       if (mw_mcc = MUI_CreateCustomClass (NULL, MUIC_Window, NULL, sizeof(struct MWData), (APTR)MainWinDispatcher))
  90.                         return (ALL_RIGHT);
  91.                       else
  92.                         MakeRequest (REQ_TITLE_ERROR, CC_PROBLEM, EXIT_BUTTON, NULL);
  93.                     }
  94.                 }
  95.               else
  96.                 MakeRequest (REQ_TITLE_ERROR, LIBRARY_PROBLEM, EXIT_BUTTON, MUI_LIBRARY_NAME, MUI_LIBRARY_VERSION);
  97.             }
  98.           else
  99.             MakeRequest (REQ_TITLE_ERROR, LIBRARY_PROBLEM, EXIT_BUTTON, MAILPRO_LIBRARY_NAME, MAILPRO_LIBRARY_VERSION);
  100.         }
  101.       else
  102.         MakeRequest (REQ_TITLE_ERROR, LIBRARY_PROBLEM, EXIT_BUTTON, REQ_LIBRARY_NAME, REQ_LIBRARY_VERSION);
  103.     }
  104.   else
  105.     Alert (AT_DeadEnd | AN_ExecLib | AG_OpenLib | AO_Intuition);
  106. }
  107.